
        <html>
			<head>
			     <title>"绿色"并不代表安全，一个隐藏在绿色软件中的木马分析 - 腾讯电脑管家</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/12709">http://drops.wooyun.org/papers/12709</a></h1>
				
      <p>
        <h1>0x00 背景</h1>

<hr />

<p>“绿色软件”通常指的是那些无需安装即可使用的小软件，这些小软件运行后通常可以直接使用，且使用后不会在注册表、系统目录等残留任何键值和文件，甚至可以直接将其放到U盘、光盘等移动介质中，随时随地使用。同时由于其免安装、解压即可使用，也会给人予安全的感觉，因此深受广大网友的喜爱。然而这些“绿色软件”真的都安全吗？</p>

<!--more-->

<h1>0x01 木马简介</h1>

<hr />

<p>近期腾讯反病毒实验室捕获到多个带有木马的“绿色软件”压缩包，此类绿色软件通常为小工具类，通过中小下载站传播，这些标榜“绿色软件”的压缩包程序中含有木马。此外，这些工具还被大量上传到网盘、论坛、社交群里，传播量较大。木马运行后不仅会篡改多种浏览器的主页，还会下载大量推广程序、木马到本地执行，对用户计算机安全造成严重的威胁。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031007535689113.jpg" alt="p1" /> 图1.解压后的“绿色软件”目录</p>

<p>该木马主要存在于各种“绿色软件”包中，直接替换原本的主程序，将原本的主程序重新命名为mail.dll，木马启动后会查找同目录下的mail.dll文件，并将其运行起来，从而让用户完全无法察觉。随后木马便会不断篡改主页、下载推广软件、关闭防火墙、关闭系统声音、后台刷流量等。</p>

<h1>0x02 木马详细分析</h1>

<hr />

<p>该木马使用VB语言编写，由于VB语言在编译程序时是将程序编译成中间语言，而非二进制代码，因此具有天然的免杀功效，目前VirusTotal上仅有不到三分之一的安全软件能够识别该木马。</p>

<p>通过VB反编译软件对该样本进行反编译后可以发现，除了主函数外，还有一个窗体中含有多个事件，包括三个计时器事件，以及窗体的加载和卸载事件等，此外，通过代码结构可发现，该样本中嵌入了一款名为VB多标签页面web浏览器的控件，该控件主要用于访问指定导航页面，刷流量。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031007554553922.jpg" alt="p2" /> 图2.反编译代码总体结构图及与开源的一个vb控件对比</p>

<p>木马运行后在主函数中会先关闭系统自带的防火墙，随后立即运行同目录下的main.dll文件，经分析该软件真正的主体文件。此外，可能是为了逃避分析和特征查杀，该木马程序中的所有字符串均拆分成小片段后再拼接。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031007567384431.jpg" alt="p3" /> 图3.木马主函数相关代码</p>

<p>main.dll实为软件主程序，将其扩展名改为exe后，可见其真实图标，木马只是以狸猫换太子之术将主程序“掉包”，运行主程序后主程序完成软件真实功能，木马则在后台偷偷运行。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031007586232041.jpg" alt="p4" /> 图4.将main.dll扩展名改为exe后， 可见其真实图标</p>

<p>在主窗体的加载函数中，木马初始化部分配置信息，主要是访问以下4个URL链接获取相关配置信息，以及发送统计信息、使用内置web浏览器刷流量。</p>

<ul>
<li>&lt;www.dongzhiri.com/t/0.asp>（主页配置）</li>
<li>&lt;www.dongzhiri.com/t/1.htm>（统计）</li>
<li>&lt;g.msnunion.com/exi/h.asp>（第三方浏览器主页配置）</li>
<li>&lt;g.msnunion.com/exi/wj.htm>（跳转到导航页<a href="http://www8.1616.net/?un7783">http://www8.1616.net/?un7783</a>）刷流量</li>
</ul>

<p>随后启动计时器1和计时器2，由计时器2完成木马的主要功能</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008012183451.jpg" alt="p5" /> 图5.木马主窗体的加载函数相关代码</p>

<p>计时器1主要实现的功能是：不断查询系统的进程列表，以判断main.dll进程是否存在，如果不存在，说明用户已经关闭该软件，此时木马便调用窗体卸载函数准备退出程序，以免被发现异常。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008046316661.jpg" alt="p6" /> 图6.计时器1主要功能函数相关代码</p>

<p>计时器2负责完成木马的主要恶意行为，首先会根据初始化的配置信息，修改多种浏览器的主页，目前，该木马配置的主页为：<code>http://www8.1616.net/?un5794end</code></p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008074379271.jpg" alt="p7" /> 图7.修改ie浏览器主页</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008092926881.jpg" alt="p8" /> 图8.通过修改注册表实现主页修改</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008101088091.jpg" alt="p9" /> 图9.目前该木马配置的主页，是一个导航网站</p>

<p><img src="http://static.wooyun.org//drops/20160203/2016020310081380877101.jpg" alt="p10" /> 图10.修改第三方浏览器主页</p>

<p>随后木马会下载配置文件<a href="http://www.dongzhiri.com/t/j.txt">http://www.dongzhiri.com/t/j.txt</a>到本地解密，该配置文件存储的主要是要推广的软件列表，根据电脑关键监测，该配置文件约1分钟变动一次，每次推广的文件都不一样。可见该木马还在持续活跃中。</p>

<p><img src="http://static.wooyun.org//drops/20160203/2016020310082048398112.jpg" alt="p11" /> 图11.下载推广列表配置文件</p>

<p><img src="http://static.wooyun.org//drops/20160203/2016020310082169145121.jpg" alt="p12" /> 图12.推广列表解密函数</p>

<p><img src="http://static.wooyun.org//drops/20160203/2016020310082465240131.jpg" alt="p13" /> 图13.加密的推广列表，该列表每隔数分钟变化一次，推广不同的程序</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008272141714.jpg" alt="p14" /> 图14.下载安装推广的软件</p>

<p>该木马推广的程序列表以分钟级更新，以下是该木马推广的部分软件，可见大部分为游戏程序，此外还有发现该木马推广其它木马程序。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008294707615.jpg" alt="p15" /> 图15.木马推广的部分软件列表</p>

<h1>0x03 传播渠道</h1>

<hr />

<p>此木马通过标榜“绿色软件”，打包到各种小软件工具包中，并上传到大量中小下载站，经不完全统计，目前在网络上的打包有该木马的“绿色软件”包总数量在1000个以上，涉及到各种常用小工具。以下为部分被打包了木马“绿色软件”列表。</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008314977416.jpg" alt="p16" /> 图16.部分被打包了木马的“绿色软件”</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008331297417.jpg" alt="p17" /> 图17.传播渠道</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008353704718.jpg" alt="p18" /> 图18.传播渠道</p>

<p><img src="http://static.wooyun.org//drops/20160203/201602031008377718919.jpg" alt="p19" /> 图19.传播渠道</p>

<h1>0x04 结语</h1>

<hr />

<p>随着互联网的普及和发展，网络黑色产业也越来越深入互联网的每一个角落，曾经干净的、安全的、无私共享的网络资源如今已经逐渐绝迹。就像前段时间腾讯反病毒实验室曝光的附加在ghost镜像中的“苏拉克”木马一样，网络上未被黑产染指的空间越来越小。如今网络上的共享免费的资源，已经少有安全的了。</p>

<p>在此管家建议广大用户，无论是大软件还是小工具或者操作系统，尽量从官网下载，或者使用安全软件的软件管理进行下载和安装，尽量不要从无法确定安全性的中小网站下载资源。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          